package com.weishi.project.training.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.weishi.framework.aspectj.lang.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;


/**
 * 训练小组航道
 */
@Data
@TableName("tbl_training_group_channel")
public class TrainingGroupChannel implements Serializable {
    private static final long serialVersionUID = 1L;

    /** PK */
    private Integer id;

    @TableField(exist = false)
    @Excel(name = "训练日")
    private String day;

    @TableField(exist = false)
    @Excel(name = "组别")
    private String groupName;

    /**
     * 批次
     */
    private Integer batch;

    @TableField(exist = false)
    @Excel(name = "小组")
    private String batchName;

    @Excel(name = "航道名称")
    private String channelName;

    /**
     * 船速仪 id
     */
    @Excel(name = "船速仪")
    private String shipSpeedId;

    @Excel(name = "艇种")
    private String boatType;

    /** 划船里程 */
    @Excel(name = "公里数")
    private Integer rowingKilometers;

    /**
     * 划船时长
     */
    @Excel(name = "时长")
    private Double rowingClassHour;

    @TableField(exist = false)
    @Excel(name = "运动员")
    private String sportsmanNames;

    @Excel(name = "总成绩")
    private String achievement;

    /** 分段计时 多个以;隔开 */
    @Excel(name = "分段成绩")
    private String segmentedTiming;

    @TableField(exist = false)
    @Excel(name = "平均桨频")
    private Integer averagePropellerFrequency;

    // （手动输入）
    @Excel(name = "平均船速")
    private String averageSpeed;

    // （手动输入）
    @Excel(name = "最大船速")
    private String maxSpeed;

    @Excel(name = "桨数")
    private Integer pulpNumber;

    // （手动输入）
    @Excel(name = "分段船速")
    private String sectionalSpeed;

    @TableField(exist = false)
    @Excel(name = "分段桨频")
    private String segmentPropellerFrequency;


    /************摄像机*************/

    @Excel(name = "1号机位")
    private String seat1;
    private String seat1Url;

    @Excel(name = "2号机位")
    private String seat2;
    private String seat2Url;

    //@Excel(name = "开始时间")
    private Date stime;

    //@Excel(name = "结束时间")
    private Date etime;

    /**
     * 平均桨频
     */
    private Double averageFrequency;

    /** 训练组Id */
    private Integer groupId;

    /** 阶段数 */
    private Integer stages;
    
    /** 桨频/次 */
    private String propellerFrequency;

    /** 功率 */
    private String power;

    private String watt;

    /**
     * 成绩毫秒值
     */
    private int achievementMs;
    
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date ctime;

    /**
     * 临时字段，不在数据库中显示
     */
    @TableField(exist = false)
    private List<TrainingAchievement> person;

    /**
     * 临时字段，不在数据库中显示
     */
    @TableField(exist = false)
    private Integer channelId;

    /**
     * 船速仪状态
     */
    @TableField(exist = false)
    private int shipSpeedStatus = 0;

    /**
     * 训练模式 0、默认公里数计时，1、默认时长计公里数
     */
    private Integer trainingMode;

    /**
     * 船速
     */
    private double shipSpeed = 0.0;

    /**
     * 航道信息串
     */
    private String channelInfoStr;

    /**
     * 一级科目 查询条件（ 不是数据库字段 ）
     */
    @TableField(exist = false)
    private String firstLevel;

    /**
     * 二级科目 查询条件（ 不是数据库字段 ）
     */
    @TableField(exist = false)
    private String secondLevel;

    /**
     * 公里数 查询条件（ 不是数据库字段 ）
     */
    @TableField(exist = false)
    private Integer rowingKilometersTwo;

    /**
     * 训练航道中所有的运动员 名称
     */
    @TableField(exist = false)
    private List<String> sportsmanName;

    private String averageWatt;

    private String averagePower;

    private String peakForce;

    private String averageForce;

    private Double speed;

    /**
     * 运动员 id
     */
    @TableField(exist = false)
    private Integer sportsmanId;

    /**
     * 分段 心率
     */
    @TableField(exist = false)
    private String segmentHeartRate;

    /**
     * 分段 功率
     */
    @TableField(exist = false)
    private String segmentPower;

    /**
     * 分段 瓦特
     */
    @TableField(exist = false)
    private String segmentWatt;

    /**
     * 训练课 id
     */
    @TableField(exist = false)
    private Integer trainingDayId;

    /**
     * 分段 时长
     */
    @TableField(exist = false)
    private String segmentLengthTime;

    /**
     * 分段 里程
     */
    private String segmentMileage;

    /**
     * 平均心率
     */
    @TableField(exist = false)
    private Integer averageHeartRate;

}